package ejb.casacentral.service.controller;

import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import odv.webservice.ReceptorDeRodamientosServerProxy;
import servicios.WebServiceFacadeBeanProxy;

import comun.casacentral.log.CasaLogger;

import ejb.casacentral.persistence.entity.GrupoIP;


@Stateless
public class ServiceCallBean implements ServiceCall {
	
	@EJB
	private GrupoIPController grupoIPController;

	
	@Override
	public void enviarNuevoRodamiento(String rodamiento){
		
		ReceptorDeRodamientosServerProxy proxy = null;
		
		for (GrupoIP grupoIP : grupoIPController.obtenerTodosOficinaVentas()){
			proxy = new ReceptorDeRodamientosServerProxy();
//			CasaLogger.log("	http://"+grupoIP.getIp()+":8080/EAR-JMS-WS-EJB-JMS-WS/RecibirRodamientoWSBean");
//			
//			proxy.setEndpoint("	http://"+grupoIP.getIp()+":8080/EAR-JMS-WS-EJB-JMS-WS/RecibirRodamientoWSBean");
			
			CasaLogger.log("	http://"+grupoIP.getIp()+grupoIP.getEndpoint());
			proxy.setEndpoint("	http://"+grupoIP.getIp()+grupoIP.getEndpoint());

			try {
				proxy.informarRodamiento(rodamiento);
			} catch (RemoteException e) {
				CasaLogger.log(" No se pudo enviar rodamiento a la oficina : " + grupoIP.getCodigo());
				e.printStackTrace();
			}
		}
			
		
	}
	
	@Override
	public List<String> obtenerListadoPrecio(){
		
		WebServiceFacadeBeanProxy proxy = null;
		
		List<String> listados = new ArrayList<String>();
		
		for (GrupoIP grupoIP : grupoIPController.obtenerTodosProveedores()){
			proxy = new WebServiceFacadeBeanProxy();
//			CasaLogger.log("http://"+grupoIP.getIp()+":8080/EAR-JMS-WS-EJB-JMS-WS/WebServiceFacadeBean");
//			proxy.setEndpoint("	http://"+grupoIP.getIp()+":8080/EAR-JMS-WS-EJB-JMS-WS/WebServiceFacadeBean");
			CasaLogger.log("http://"+grupoIP.getIp()+grupoIP.getEndpoint());
			proxy.setEndpoint("	http://"+grupoIP.getIp()+grupoIP.getEndpoint());
			
			
			
			try {
				listados.add(proxy.getListaPrecios());
			} catch (RemoteException e) {
				CasaLogger.log(" No se pudo obtener listado del proveedor : " + grupoIP.getCodigo());
				e.printStackTrace();
			}
			
		}
		
		return listados;
			
		
	}

}
